package com.authority.service;

import java.util.List;

import com.authority.entry.AuthRoleTypeDO;
import com.authority.query.AuthRoleTypeQuery;
import com.authority.result.PageResult;
import com.authority.vo.AuthRoleTypeVO;
import com.authority.vo.IdNameVO;

/**
 * 角色类型管理
 * 
 * @author limeng.g
 *
 */
public interface AuthRoleTypeService {

	/**
	 * 添加角色分类信息
	 * 
	 * @param db
	 * @return
	 */
	public Long saveRoleType(AuthRoleTypeDO db) throws Exception;

	/**
	 * 删除角色类型
	 * 
	 * @param ids
	 * @return
	 */
	public int removeAuthRoleTypeByIds(String ids);

	/**
	 * 更新角色类型
	 * 
	 * @param db
	 * @return
	 */
	public int modifyAuthRoleType(AuthRoleTypeDO db);

	/**
	 * 查询角色类型列表(支持分页)
	 * 
	 * @param query
	 * @return
	 */
	public PageResult<AuthRoleTypeVO> getAuthRoleTypeList(AuthRoleTypeQuery query) throws Exception;

	/**
	 * 根据id查询角色类型信息
	 * 
	 * @param id
	 * @return
	 */
	public AuthRoleTypeDO getAuthRoleTypeById(Long id);

	/**
	 * 根据id查询角色类型名称
	 * 
	 * @param id
	 * @return
	 */
	public String getRoleTypeNameById(Long id);

	/**
	 * 根据系统id查询角色类型
	 * 
	 * @param sysId
	 * @return
	 */
	public List<IdNameVO> listRoleTypeIdName(Long sysId);
}
